Telegram Group & Telegram Channel
🤝 Как вызвать Python из C — гайд для ресерчеров и хардкорных разработчиков

Если вы пишете код на C и Python, рано или поздно возникнет задача: как вызывать Python из C? Особенно если вы работаете с AI-исследованиями, Tensorflow, или хотите встроить скрипты в уже существующий C-проект.

Вот краткое руководство:

1⃣ Подключить Python.h:
python3-config --includes


2⃣ Включить заголовочный файл в C:

В Cmain.c:
#include <Python.h>


3⃣ Скомпилировать:
gcc Cmain.c -I/usr/include/python3.8 -lpython3.8 -o Cmain.o


4⃣ Инициализировать интерпретатор:
setenv("PYTHONPATH", "./", 1);
Py_Initialize();
// ...
Py_Finalize();


5⃣ Импортировать модуль и вызывать функцию:
PyObject *module = PyImport_ImportModule("PythonFunctions");
PyObject *func = PyObject_GetAttrString(module, "PrintList");
PyObject_CallObject(func, args);


6⃣ Аргументы (списки, числа и пр.):
Создаём через PyList_New, PyLong_FromLong, PyTuple_Pack.

7⃣ Очистка памяти:
Не забываем про Py_XDECREF(...)

▶️ Подойдёт для:
📍Встраивания ML-логики в C
📍Быстрого прототипирования
📍Работы с TensorFlow C API

▶️ Полный гайд и файлы — в детальной статье: https://clc.to/ys3cjw

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/cppproglib/5762
Create:
Last Update:

🤝 Как вызвать Python из C — гайд для ресерчеров и хардкорных разработчиков

Если вы пишете код на C и Python, рано или поздно возникнет задача: как вызывать Python из C? Особенно если вы работаете с AI-исследованиями, Tensorflow, или хотите встроить скрипты в уже существующий C-проект.

Вот краткое руководство:

1⃣ Подключить Python.h:

python3-config --includes


2⃣ Включить заголовочный файл в C:

В Cmain.c:
#include <Python.h>


3⃣ Скомпилировать:
gcc Cmain.c -I/usr/include/python3.8 -lpython3.8 -o Cmain.o


4⃣ Инициализировать интерпретатор:
setenv("PYTHONPATH", "./", 1);
Py_Initialize();
// ...
Py_Finalize();


5⃣ Импортировать модуль и вызывать функцию:
PyObject *module = PyImport_ImportModule("PythonFunctions");
PyObject *func = PyObject_GetAttrString(module, "PrintList");
PyObject_CallObject(func, args);


6⃣ Аргументы (списки, числа и пр.):
Создаём через PyList_New, PyLong_FromLong, PyTuple_Pack.

7⃣ Очистка памяти:
Не забываем про Py_XDECREF(...)

▶️ Подойдёт для:
📍Встраивания ML-логики в C
📍Быстрого прототипирования
📍Работы с TensorFlow C API

▶️ Полный гайд и файлы — в детальной статье: https://clc.to/ys3cjw

Библиотека питониста #буст

BY Библиотека C/C++ разработчика | cpp, boost, qt




Share with your friend now:
tg-me.com/cppproglib/5762

View MORE
Open in Telegram


Библиотека C C разработчика | cpp boost qt Telegram | DID YOU KNOW?

Date: |

Mr. Durov launched Telegram in late 2013 with his brother, Nikolai, just months before he was pushed out of VK, the Russian social-media platform he founded. Mr. Durov pitched his new app—funded with the proceeds from the VK sale—less as a business than as a way for people to send messages while avoiding government surveillance and censorship.

The SSE was the first modern stock exchange to open in China, with trading commencing in 1990. It has now grown to become the largest stock exchange in Asia and the third-largest in the world by market capitalization, which stood at RMB 50.6 trillion (US$7.8 trillion) as of September 2021. Stocks (both A-shares and B-shares), bonds, funds, and derivatives are traded on the exchange. The SEE has two trading boards, the Main Board and the Science and Technology Innovation Board, the latter more commonly known as the STAR Market. The Main Board mainly hosts large, well-established Chinese companies and lists both A-shares and B-shares.

Библиотека C C разработчика | cpp boost qt from it


Telegram Библиотека C/C++ разработчика | cpp, boost, qt
FROM USA